package Day_0204.Redis;

/**
 * @author zxc
 * @date 2023/02/04 22:42
 **/
public class Redis_Advantage_Disadvantage {
    public static void main(String[] args) {
        /**
         * Redis的优点 && 缺点
         * ===>
         * 1.优点
         * （1）速度快：
         *  因为数据存在内存中，类似于 HashMap ， HashMap 的优势就是查找和操作的时间复杂度都是O (1) 。
         * （2）支持丰富的数据结构：
         *  支持 String ，List，Set，Sorted Set，Hash 五种基础的数据结构。
         * （3）持久化存储：
         *  Redis 提供 RDB 和 AOF 两种数据的持久化存储方案，解决内存数据库最担心的问题 ：万一 Redis 挂掉，数据会消失掉;
         * （4）高可用：
         *  内置 Redis Sentinel ，提供高可用方案，实现主从故障自动转移。
         *  内置 RedisCluster ，提供集群方案，实现基于槽的分片方案，从而支持更大的 Redis 规模。
         * （5）丰富的特性：
         *  Key过期、计数、分布式锁、消息队列等。
         *
         * 2.缺点
         * （1）由于 Redis 是内存数据库，所以，单台机器存储的数据量，跟机器本身的内存大小有关;
         *  虽然Redis 本身有 Key 过期策略，但是还是需要提前预估和节约内存。如果内存增长过快，需要定期删除数据。
         * （2）如果进行完整重同步，由于需要生成 RDB 文件，并进行传输，会占用主机的 CPU ，并会消耗现网的带宽。
         *  不过 Redis 2.8 版本，已经有部分重同步的功能，但是还是有可能有完整重同步的。比如，新上线的备机。
         * （3）修改配置文件，进行重启，将硬盘中的数据加载进内存，时间比较久。在这个过程中， Redis不能提供服务。
         *
         */
    }
}
